Verilog: module vl_7_segment_hexadecimal_decoder(A, B, C, D, a, b, c, d, e, f, g); input A, B, C, D; output a, b, c, d, e, f, g; wire e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e14, e15, e18, e19, e22, e24; not u0(C, e0); not u1(D, e1); nand u2(e2, B, D); xnor u3(e3, B, C); nand u4(e4, B, e0); nand u5(e5, A, e1); nand u6(e6, C, e2); nand u7(e7, e1, e3); nand u8(e8, e1, C); xnor u9(e9, D, e3); nand u10(e10, A, e4); nand u11(e11, B, e0, e5); xnor u12(e12, C, e4); nand u13(g, e10, e11, e6); xor u14(e14, A, e11); nand u15(e15, A, e12); nand u16(f, e10, e14, e7); nand u17(e, e15, e7, e8); xor u18(e18, B, e14); xor u19(e19, e10, e); nand u20(c, e, e18, e12); nand u21(d, e9, e19); nand u22(e22, e9, c); nand u23(b, f, e12, e22); xor u24(e24, e18, e22); nand u25(a, e24, e7); endmodule VHDL: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- =========================================== ENTITY 7_segment_hexadecimal_decoder IS PORT ( A : IN BIT; B : IN BIT; C : IN BIT; D : IN BIT; a : OUT BIT; b : OUT BIT; c : OUT BIT; d : OUT BIT; e : OUT BIT; f : OUT BIT; g : OUT BIT ); END 7_segment_hexadecimal_decoder; -- =========================================== ARCHITECTURE gate_level OF 7_segment_hexadecimal_decoder IS COMPONENT not1 PORT (a1: IN BIT; z: OUT BIT); END COMPONENT; -- Intermediate nets SIGNAL e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e14, e15, e18, e19, e22, e24 : BIT; BEGIN U0 : not1 PORT MAP (C, e0); U1 : not1 PORT MAP (D, e1); U2 : nand2 PORT MAP (B, D, e2); U3 : xnor2 PORT MAP (B, C, e3); U4 : nand2 PORT MAP (B, e0, e4); U5 : nand2 PORT MAP (A, e1, e5); U6 : nand2 PORT MAP (C, e2, e6); U7 : nand2 PORT MAP (e1, e3, e7); U8 : nand2 PORT MAP (e1, C, e8); U9 : xnor2 PORT MAP (D, e3, e9); U10 : nand2 PORT MAP (A, e4, e10); U11 : nand3 PORT MAP (B, e0, e5, e11); U12 : xnor2 PORT MAP (C, e4, e12); U13 : nand3 PORT MAP (e10, e11, e6, g); U14 : xor2 PORT MAP (A, e11, e14); U15 : nand2 PORT MAP (A, e12, e15); U16 : nand3 PORT MAP (e10, e14, e7, f); U17 : nand3 PORT MAP (e15, e7, e8, e); U18 : xor2 PORT MAP (B, e14, e18); U19 : xor2 PORT MAP (e10, e, e19); U20 : nand3 PORT MAP (e, e18, e12, c); U21 : nand2 PORT MAP (e9, e19, d); U22 : nand2 PORT MAP (e9, c, e22); U23 : nand3 PORT MAP (f, e12, e22, b); U24 : xor2 PORT MAP (e18, e22, e24); U25 : nand2 PORT MAP (e24, e7, a); END gate_level;